package demo2;

/**
 * Created with IntelliJ IDEA.
 * Description:
 * User: 苏李涛
 * Date: 2024-05-18
 * Time: 21:50
 */
public class Dog extends Animal implements IRunning,ISwimming{

    public Dog(String name, int age) {
        super(name, age);
    }

    @Override
    public void eat() {
        System.out.println(this.name +" 正在吃狗粮");
    }

    @Override
    public void run() {
        System.out.println(this.name + " 正在跑");
    }

    @Override
    public void swim() {
        System.out.println(this.name + " 正在游泳");
    }


    public boolean equals(Object obj) {

        if (obj == null) {
            return false;
        }

        //判断，是否为同一个类型
        if (!(obj instanceof Dog)) {
            return false;
        }

        if (this == obj) {

            //这里this是dog1;this其实代表对象dog1的引用，理解为：他们的地址一样（Test中的main）
            return true;
        }

        //obj没有Dog的属性，所以要向下转型来比较。
        Dog tmp = (Dog) obj;
        return tmp.name.equals(this.name) &&
                tmp.age == this.age;

    }
}
